const OpenAI = require('openai');
const openai = new OpenAI({
  apiKey: '8d060db5-4d82-4104-9473-6fa4ea64905a',
  baseURL: 'https://ark.cn-beijing.volces.com/api/v3',
});

let isRequestInProgress = false; // 请求是否正在进行的标志

// 定义一个异步函数用于获取 OpenAI 的回复
async function getOpenAIResponse(userMessage) {
  if (isRequestInProgress) {
    throw new Error('请求正在进行中');
  }

  isRequestInProgress = true; // 标记请求正在进行

  try {
    const completion = await openai.chat.completions.create({
      messages: [
        { role: 'system', content: '你是豆包，你现在是直播间的AI人工智能，请回答弹幕的问题' },
        { role: 'user', content: userMessage },
      ],
      model: 'ep-20240811174920-xm9gz', // 确保这是正确的模型 ID
    });

    // 返回生成的内容
    return completion.choices[0]?.message?.content || 'No content returned';
  } catch (error) {
    console.error('Error:', error);
    throw error; // 抛出错误以便调用者处理
  } finally {
    isRequestInProgress = false; // 请求完成后重置标志
  }
}

module.exports = { getOpenAIResponse };
